iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0

SharedPreferences是Android平台上一個輕量級的存儲套件,數據以Key-value鍵值對形式持久化保存的xml檔案,其檔案保存在data>data>com.example."項目名稱">shared_prefs資料夾下。

一、獲取SharedPreferences

方法一

透過Context類中的getSharedPreferences(),此方法需要傳入兩個參數。

SharedPreferences shp = getSharedPreferences("MY_APP", Context.MODE_PRIVATE);
  • 參數一:指定保存xml檔案的文件名。
  • 參數二:用於指定操作模式。

操作模式:

  • Context.MODE_PRIVATE:指定該SharedPreferences數據只能被該應用讀、寫。
  • Context.MODE_APPEND:會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件。
  • 其餘的還有MODE_WORLD_RADABLEMODE_WORLD_WRITEABLE,但這兩種模式在Android 4.2起就被棄用了。

方法二

透過Activity類中的getPreferences(),和方法一很相似,但它只傳入一個操作模式參數,因為它會將當前運行它的Activity的類名最為文件名稱。

SharedPreferences shp = getPreferences(Context.MODE_PRIVATE);

二、SharedPreferences的使用

分為寫入、讀取、刪除、清空四大操作

(1) 寫入數據:

// 步驟1: 獲取SharePreferences物件
SharedPreferences sp = getSharedPreferences("MY_APP", Context.MODEVATE);
// 步驟2: 獲取SharedPreferences.Editor
SharedPreferences.Editor editor = sp.edit();
// 步驟3: 存儲數據
editor.putString("name", "Ian");
// 步驟4: 提交
editor.commit();

(2) 讀取數據:

SharedPreferences sp = getSharedPreferences("MY_APP", Context.MODE_PRIVATE);
String name = sp.getString("nam", ""); 

(3) 刪除指定數據:

editor.remove("name");
editor.commit();

(4) 清空數據:

editor.clear();
editor.commit();

上一篇
Day22 - Glide
下一篇
Day24 - Jetpack Room
系列文
Android 開發 30天 初學之路筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言